1. Field of the Invention
The present invention relates to a method and system for recording, characterizing, and evaluating computer application usage.
2. Description of the Related Art
The explosive growth of information technology and increased industry dependence on computing resources will demand higher levels of computer literacy from the workforce. In addition the rising demand for computer skills places an increasing premium on both computer literacy and an individual""s ability to adapt his or her skill-sets quickly.
As used herein, the term xe2x80x9ctarget applicationxe2x80x9d refers to a computer program or application which a user desires to use or learn to use. Target applications include, for instance, editors, word processors, spreadsheets, browsers, Computer-Aided Design, and the like. A xe2x80x9cuserxe2x80x9d then, is a person that uses, or is learning how to use, a target application. An xe2x80x9capplication engineerxe2x80x9d, on the other hand, refers to a person experienced in using a target application, such as a programmer or content developer at a company or organization. In addition, the term xe2x80x9csupervising applicationxe2x80x9d is the primary program or application that is used to provide instruction to a user regarding a target application. xe2x80x9cApplication Player/Recorderxe2x80x9d (APR) refers to an implementation of the device that interacts with target applications.
Various types of tutoring systems have been developed in order to teach users how to use a target application. Many target applications are themselves equipped with information that instructs the user on the use of the target application. However, these instructions are standardized, and are not designed to be customized by an application engineer. Moreover, since these instructions are particular to a single application, they offer no assistance to interaction between various target applications that are typically used by a user
One type of intelligent tutoring system is shown in U.S. Pat. No. 4,941,829 to Estes et al. (xe2x80x9cEstesxe2x80x9d), entitled xe2x80x9cMethod For Providing A Dynamic Tutorial Displayxe2x80x9d. Estes was designed to train a user in the utilization of interactive software applications having dynamic displays. Sequences of selected operator inputs are recorded, along with the elapsed time between successive inputs. If a user requests assistance, the software application will respond in a manner identical to a response generated by human input from an experienced operator.
However, Estes is a technical assistant rather than an informed supervising application. Estes suggests an answer to a user""s problem in the form of a voice or textual description. However, Estes does not evaluate the user""s performance within a target application, and does not have the ability to graphically demonstrate how to perform an action within the application. Furthermore, Estes is limited to use with a single target application, so that it offers no assistance to users that are learning or interacting with multiple target applications.
In order to overcome the disadvantages of the prior art, the present invention is capable of recording, playing, and evaluating various sequences of operator inputs within multiple target applications. Organizations can use these expanded capabilities in many areas such as training employees to use computer applications or monitoring employee efficiency while using computers to perform work tasks.
Accordingly, developers of computer-based training for applications could use APR to demonstrate various uses of the target application to users. For instance, a secretary could be shown how to create a particular type of report using a word processor. Using APR, this type of information can be conveyed without the presence of an informed user of the word processor. The APR can also be used to evaluate a user""s ability to perform tasks within the application. Continuing with the prior example, the secretary could be asked to create a sample report in the word processor at the end of her training; APR would be able to evaluate the actions of the secretary within the word processor to determine if she performed the required sequence. Such information and capability allows for the development of advanced training for computer applications without requiring the presence of an informed user of the target application.
APR technology can be used in genres other than computer-based training for applications. Consider a company that wishes to regularly evaluate the efficiency of employees using computer applications; APR could be used to monitor the actions of the employees to determine whether they use the target applications in an efficient manner. Then, the company can use this information to determine which employees need training in the target applications.
Consider yet another scenario where a company has many employees using computer applications to perform the same tasks repeatedly. Twenty-five percent of the employees are extremely efficient workers; APR could be used to monitor the efficient workers to record the process by which they use the computer applications to perform their job. This data could then be used to develop training material that teaches the less-efficient employees better processes for using the target applications to perform their job.
Accordingly, it is a primary object of the present invention to provide a device that can playback, record, and evaluate operator inputs to target applications.
It is another object of the invention to provide a device that can characterize target applications.
It is another object of the invention to provide a device that can interact with existing target applications.
It is a further object of the invention to provide a device that can demonstrate the operation of target applications to users, independent of whether or not the target application independently contains assistance information.
Another object of the invention is to provide a device that is able to evaluate a user""s performance within a target application.
It is yet another object to provide a device that is able to graphically demonstrate how to perform an action within a target application.
In accordance with these objectives the present invention, Application Player/Recorder (APR), is a device that provides the ability to dynamically interact with and monitor arbitrary computer applications. APR allows application engineers to capture, manipulate, and playback application command sequences, or operator input, much like audio, video, or any other media that are recorded, manipulated, and played back. APR operates by interpreting the events and messages passed between the operating system and the target applications. Using this information, APR determines which applications are active, which windows have been created and destroyed, and the user""s interaction with these windows and applications.
An application must be characterized before the APR is able to evaluate a user""s actions within the specified target application. To characterize an application, command sequences, or actions, within that application are recorded and given meaningful labels. After this process, the APR will recognize those actions when repeated by a user of the characterized application. After an application has been characterized, the APR can intercept the events going to and from the target application and determine the high-level, logical action being performed by the user.
These together with other objects and advantages which will become subsequently apparent reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.